﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

using MusicPlayerLib.DataModel;

namespace MusicPlayerLib.ViewModel
{
    public class MediaLibraryViewModel
    {
        #region Filed
        private ObservableCollection<AlbumViewModel> albums;
        private ObservableCollection<ArtistViewModel> artists;
        private ObservableCollection<AudioFile> tracks;

        private ObservableCollection<string> gernes;
        private ObservableCollection<string> years;
        #endregion

        #region Constructor

        public MediaLibraryViewModel()
        {
            albums = new ObservableCollection<AlbumViewModel>();
            artists = new ObservableCollection<ArtistViewModel>();
            tracks = new ObservableCollection<AudioFile>();

        }
        public MediaLibraryViewModel(ObservableCollection<ArtistViewModel> artists,
                        ObservableCollection<AlbumViewModel> albums, ObservableCollection<AudioFile> tracks)
        {
            this.artists = artists;
            this.albums = albums;
            this.tracks = tracks;

            //add gernes

            //add years
        }
        #endregion //Constructor

        #region Property
        public ObservableCollection<AlbumViewModel> Albums
        {
            get
            {
                return albums;
            }
            set
            {
                albums = value;
            }
        }

        public ObservableCollection<ArtistViewModel> Artists
        {
            get
            {
                return artists;
            }
            set
            {
                this.artists = value;
            }
        }

        public ObservableCollection<AudioFile> Tracks
        {
            get
            {
                return tracks;
            }
            set
            {
                tracks = value;
            }
        }
        #endregion

        #region methods
        #endregion //Methods
    }


    public enum MediaLibraryViewType
    {
        ByArtist,
        ByAlbum,
        ByGenre,
        ByYear
    }
}
